#pragma once
#ifndef _MODEL_H
#define _MODEL_H

#include "../common/_3D_Vector.h"
#include "../common/Ptr.hpp"
#include "../common/ShowListManager.h"
#include "../common/configure.h"
#include "Object.h"


class Model
{
private:
  GLuint _statusShowList;
  GLuint _modelShowList;
  GLuint _countryShowList;

  Size3f _size;

  // Load model from 3ds file and measure its size
  void _load_model (Ptr< ShowListManager > showListMng,
                    const WCHAR* modelFileName);

public:
  Model(Ptr< ShowListManager > showListMng,
        const WCHAR* modelFileName = NULL);

  void draw (Ptr< Object > object);
  const Size3f& size () const;

};

#endif